知識の蒸溜 (KD)
知識の抽出とは| IBM
LLM テクニックの習得: 推論の最適化 - NVIDIA 技術ブログ#蒸留
表現學習
Buciluǎ, Caruana, Niculescu-Mizil (2006) "Model Compression"
Geoffrey Hinton, Oriol Vinyals, Jeff Dean “Distilling the Knowledge in a Neural Network” 2015/3/9
ほとんどの機械學習アルゴリズムの性能を向上させる極めて單純な方法として、同一のデータセットを用ゐて多數の異なるモデルを學習させ、それらの豫測結果を平均化する方法がある。殘念ながら、全てのモデル群を用ゐて豫測を行ふ手法は煩雜であり、特に個々のモデルが大規模な neural network である場合、計算コストが高すぎるため多數のユーザーに展開することが困難となる。Caruana らの硏究チームは、アンサンブルモデルに含まれる知識を單一のモデルに壓縮することが可能であり、これにより展開作業が大幅に容易になることを示してゐる。本硏究では、このアプローチをさらに發展させ、異なる壓縮技術を用ゐてこの手法を改良した。MNIST データセットにおいて驚くべき成果を得るとともに、多數のユーザーに利用されてゐる商用システムの音響モデルを、アンサンブルモデルの知識を單一モデルに蒸留することで大幅に改善できることを實證した。さらに、本硏究では新たなタイプのアンサンブルモデルを提案する。このモデルは、1 つ以上の完全なモデルと、それらの完全なモデルでは區別が困難な微細なクラス分類を專門とする多數の特化型モデルから構成される。專門家の混合 (MoE)とは異なり、これらの特化型モデルは迅速に、かつ竝列的に訓練することが可能である。
FitNets (Romero et al., 2015) "FitNets: Hints for Thin Deep Nets"
Sanh et al. (2019) "DistilBERT: a distilled version of BERT"
Sun et al. (2019) "Patient Knowledge Distillation for BERT Model Compression"
Kim & Rush (2016) "Sequence-Level Knowledge Distillation"
Jiao et al. (2020) "TinyBERT"
大規模言語 model (LLM)
Tommaso Furlanello, Zachary C. Lipton, Michael Tschannen, Laurent Itti, Anima Anandkumar "Born Again Neural Networks" 2018/6/29
知識蒸留(Knowledge Distillation: KD)とは、機械学習モデル間で「知識」を転移する技術である。一般的に、教師モデルは高性能だが計算資源を多く消費する高容量モデルであり、生徒モデルはよりコンパクトで効率的なモデルである。この知識転移の目的は、生徒モデルのコンパクト性という利点を活かしつつ、性能の大幅な低下を回避することにある。本研究では、従来のモデル圧縮アプローチとは異なる新たな視点からKDを考察する。具体的には、生徒モデルを教師モデルと完全に同一のパラメータ構成で学習させる手法を提案する。驚くべきことに、この「生まれ変わったネットワーク」(Born-Again Networks: BANs)は、コンピュータビジョンタスクおよび言語モデリングタスクの双方において、教師モデルを大幅に上回る性能を発揮する。DenseNetを基盤としたBANsを用いた実験では、CIFAR-10データセットで3.5%、CIFAR-100データセットで15.5%という検証誤差を達成し、最先端の性能水準を示した。さらに追加実験として、2つの異なる蒸留目的関数を調査した:(i)教師モデル最大値による信頼度重み付け手法(Confidence-Weighted by Teacher Max: CWTM)、および(ii)並べ替え予測を用いたダーク知識手法(Dark Knowledge with Permuted Predictions: DKPP)である。これらの手法はいずれもKDの本質的要素を明らかにするとともに、教師モデルの出力が予測対象クラスだけでなく非予測クラスに対しても与える影響を実証している。
Rohan Taori, Ishaan Gulrajani, Tianyi Zhang, Yann Dubois, Xuechen Li, Carlos Guestrin, Percy Liang, Tatsunori B. Hashimoto "Alpaca: A Strong, Replicable Instruction-Following Model" 2023
Self-Instruct (Wang et al., 2022)
Mary Phuong, Christoph H. Lampert “Towards Understanding Knowledge Distillation” 2021/5/27
知識の蒸溜 (KD)、すなはちある分類器の出力を別の分類器の學習に用ゐる手法は、分類器閒における知識移轉において實證的に極めて有效な技術である。實際に、分類器がグラウンドトゥルースデータではなく、別の分類器の出力をソフトラベルとして學習する場合、より迅速かつ確實に學習が進むことが觀察されてゐる。しかしながら、この現象についてはこれまで滿足のいく理論的說明が存在しなかった。本硏究では、線形分類器と深層線形分類器という特殊なケースを詳細に分析することで、蒸留機構の動作原理に關する初めての知見を提供する。具體的には、蒸留學習を施した線形分類器の期待リスクが迅速に收束することを確立する一般化境界を證明する。この境界とその證明過程から、蒸留の成功を決定する 3 つの主要な要因を抽出した : * データの幾何學的特性――特にクラス分離度合ひなどのデータ分布の幾何學的性質は、リスクの收束速度に直接的な影響を及ぼす; * 最適化バイアス――勾配降下法による最適化は、蒸留目的函數において非常に有利な極小値を発見する; * 強い單調性――學生分類器の期待リスクは、訓練データセットのサイズが增大するにつれて常に減少する性質を示す。